package com.zhixiang.core.bpmndemo;


import java.io.Reader;

import org.activiti.engine.impl.json.JsonObjectConverter;
import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
import org.activiti.engine.impl.util.json.JSONObject;
import org.activiti.engine.repository.ProcessDefinition;


/**
 * @author gao
 * @since 2017年1月10日
 */
public class MyJsonProcessDefinitionConverter extends JsonObjectConverter<ProcessDefinition>
{

    public JSONObject toJsonObject(ProcessDefinition processDefinition)
    {
        ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity)processDefinition;
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("id", processDefinitionEntity.getId());
        if (processDefinitionEntity.getKey() != null)
        {
            jsonObject.put("key", processDefinitionEntity.getKey());
        }
        if (processDefinitionEntity.getDeploymentId() != null)
        {
            jsonObject.put("deploymentId", processDefinitionEntity.getDeploymentId());
        }
        if (processDefinitionEntity.getName() != null)
        {
            jsonObject.put("name", processDefinitionEntity.getName());
        }
        if (processDefinitionEntity.getResourceName() != null)
        {
            jsonObject.put("resourceName", processDefinitionEntity.getResourceName());
        }
        if (processDefinitionEntity.getDiagramResourceName() != null)
        {
            jsonObject.put("diagramResourceName", processDefinitionEntity.getDiagramResourceName());
        }
        if (processDefinitionEntity.getVersion()>0)
        {
            jsonObject.put("version", processDefinitionEntity.getVersion());
        }
        return jsonObject;
    }

    public ProcessDefinition toObject(Reader reader)
    {
        return null;
    }

}
